/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

镜像
关于主机镜像操作的相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef VmApiModel_h
#define VmApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKCommon/JDCloudOCSDKCommon.h>
#import <JDCloudOCSDKVm/VmModel.h>


@interface VmDescribeInstanceTemplateRequest:JDCloudRequest

/// 启动模板ID
@property (strong,nonatomic,nonnull)  NSString*  instanceTemplateId;
-(id) initWithRegion:(NSString *)regionId
instanceTemplateId:(NSString*)instanceTemplateId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceTemplateId:(NSString*)instanceTemplateId;

@end

@interface VmVerifyInstanceTemplateRequest:JDCloudRequest

/// 启动模板ID
@property (strong,nonatomic,nonnull)  NSString*  instanceTemplateId;
-(id) initWithRegion:(NSString *)regionId
instanceTemplateId:(NSString*)instanceTemplateId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceTemplateId:(NSString*)instanceTemplateId;

@end

@interface VmCreateInstanceTemplateResult : NSObject
/// InstanceTemplateId
 @property (strong,nonatomic,nonnull)  NSString*  instanceTemplateId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceTemplateId:(NSString*) instanceTemplateId;
@end

@interface VmUpdateInstanceTemplateRequest:JDCloudRequest

/// 模板描述，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
/// 模板名称，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 启动模板ID
@property (strong,nonatomic,nonnull)  NSString*  instanceTemplateId;
-(id) initWithRegion:(NSString *)regionId
descriptionValue:(NSString*)descriptionValue
name:(NSString*)name
instanceTemplateId:(NSString*)instanceTemplateId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
descriptionValue:(NSString*)descriptionValue
name:(NSString*)name
instanceTemplateId:(NSString*)instanceTemplateId;

@end

@interface VmDeleteInstanceTemplateRequest:JDCloudRequest

/// 启动模板ID
@property (strong,nonatomic,nonnull)  NSString*  instanceTemplateId;
-(id) initWithRegion:(NSString *)regionId
instanceTemplateId:(NSString*)instanceTemplateId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceTemplateId:(NSString*)instanceTemplateId;

@end

@interface VmImportKeypairRequest:JDCloudRequest

/// 密钥对名称，需要全局唯一。只允许数字、大小写字母、下划线“_”及中划线“-”，不超过32个字符。
   /// 
@property (strong,nonatomic,nonnull)  NSString*  keyName;
/// 密钥对的公钥部分
@property (strong,nonatomic,nonnull)  NSString*  publicKey;
-(id) initWithRegion:(NSString *)regionId
keyName:(NSString*)keyName
publicKey:(NSString*)publicKey;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keyName:(NSString*)keyName
publicKey:(NSString*)publicKey;

@end

@interface VmImportKeypairResult : NSObject
/// 密钥对名称
 @property (strong,nonatomic,nonnull)  NSString*  keyName;
/// 密钥对的指纹，根据 RFC4716 定义的公钥指纹格式，采用 MD5 信息摘要算法。
 @property (strong,nonatomic,nonnull)  NSString*  keyFingerprint;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithKeyName:(NSString*) keyName

    keyFingerprint:(NSString*)keyFingerprint;
@end

@interface VmDeleteKeypairRequest:JDCloudRequest

/// 密钥名称
@property (strong,nonatomic,nonnull)  NSString*  keyName;
-(id) initWithRegion:(NSString *)regionId
keyName:(NSString*)keyName;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keyName:(NSString*)keyName;

@end

@interface VmCreateKeypairResult : NSObject
/// 密钥对名称
 @property (strong,nonatomic,nonnull)  NSString*  keyName;
/// 密钥对的私钥部分，PEM PKCS#8 格式。
 @property (strong,nonatomic,nonnull)  NSString*  privateKey;
/// 密钥对的指纹，根据 RFC4716 定义的公钥指纹格式，采用 MD5 信息摘要算法。
 @property (strong,nonatomic,nonnull)  NSString*  keyFingerprint;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithKeyName:(NSString*) keyName

    privateKey:(NSString*)privateKey

    keyFingerprint:(NSString*)keyFingerprint;
@end

@interface VmCreateKeypairRequest:JDCloudRequest

/// 密钥对名称，需要全局唯一。只允许数字、大小写字母、下划线“_”及中划线“-”，不超过32个字符。
   /// 
@property (strong,nonatomic,nonnull)  NSString*  keyName;
-(id) initWithRegion:(NSString *)regionId
keyName:(NSString*)keyName;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keyName:(NSString*)keyName;

@end

@interface VmRebootInstanceRequest:JDCloudRequest

/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface VmResizeInstanceRequest:JDCloudRequest

/// 实例规格，可查询&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/describeinstancetypes&quot;&gt;DescribeInstanceTypes&lt;/a&gt;接口获得指定地域或可用区的规格信息。
@property (strong,nonatomic,nonnull)  NSString*  instanceType;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceType:(NSString*)instanceType
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceType:(NSString*)instanceType
instanceId:(NSString*)instanceId;

@end

@interface VmStopInstanceRequest:JDCloudRequest

/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface VmAttachNetworkInterfaceRequest:JDCloudRequest

/// 弹性网卡ID
@property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
/// 随云主机删除而自动删除，默认为False
@property (strong,nonatomic,nonnull)  NSNumber*  autoDelete;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
networkInterfaceId:(NSString*)networkInterfaceId
autoDelete:(NSNumber*)autoDelete
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkInterfaceId:(NSString*)networkInterfaceId
autoDelete:(NSNumber*)autoDelete
instanceId:(NSString*)instanceId;

@end

@interface VmStartInstanceRequest:JDCloudRequest

/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface VmDeleteInstanceRequest:JDCloudRequest

/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface VmAssociateElasticIpRequest:JDCloudRequest

/// 弹性公网IP的ID
@property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId;

@end

@interface VmDescribeInstanceRequest:JDCloudRequest

/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface VmDescribeInstanceVncUrlResult : NSObject
/// VncUrl
 @property (strong,nonatomic,nonnull)  NSString*  vncUrl;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithVncUrl:(NSString*) vncUrl;
@end

@interface VmDescribeInstanceVncUrlRequest:JDCloudRequest

/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface VmModifyInstancePasswordRequest:JDCloudRequest

/// 密码，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  password;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
password:(NSString*)password
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
password:(NSString*)password
instanceId:(NSString*)instanceId;

@end

@interface VmCreateInstancesResult : NSObject
/// InstanceIds
 @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  instanceIds;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceIds:(NSArray<NSString*>*) instanceIds;
@end

@interface VmCreateImageResult : NSObject
/// 镜像ID
 @property (strong,nonatomic,nonnull)  NSString*  imageId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithImageId:(NSString*) imageId;
@end

@interface VmAttachDiskRequest:JDCloudRequest

/// 云硬盘ID
@property (strong,nonatomic,nonnull)  NSString*  diskId;
/// 设备名[vda,vdb,vdc,vdd,vde,vdf,vdg,vdh,vdi,vmj,vdk,vdl,vdm]，挂载系统盘时必传，且需传vda
@property (strong,nonatomic,nonnull)  NSString*  deviceName;
/// 随云主机删除自动删除此云硬盘，默认为False。仅按配置计费云硬盘支持修改此参数，包年包月云硬盘不可修改。
@property (strong,nonatomic,nonnull)  NSNumber*  autoDelete;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
diskId:(NSString*)diskId
deviceName:(NSString*)deviceName
autoDelete:(NSNumber*)autoDelete
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
diskId:(NSString*)diskId
deviceName:(NSString*)deviceName
autoDelete:(NSNumber*)autoDelete
instanceId:(NSString*)instanceId;

@end

@interface VmDisassociateElasticIpRequest:JDCloudRequest

/// 弹性公网IP的ID
@property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId;

@end

@interface VmModifyInstanceAttributeRequest:JDCloudRequest

/// 名称，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 描述，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
instanceId:(NSString*)instanceId;

@end

@interface VmDetachDiskRequest:JDCloudRequest

/// 云硬盘ID
@property (strong,nonatomic,nonnull)  NSString*  diskId;
/// 强制缷载，默认False。如果此参数传值为True，代表数据盘的IO会被强制断掉。
@property (strong,nonatomic,nonnull)  NSNumber*  force;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
diskId:(NSString*)diskId
force:(NSNumber*)force
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
diskId:(NSString*)diskId
force:(NSNumber*)force
instanceId:(NSString*)instanceId;

@end

@interface VmRebuildInstanceRequest:JDCloudRequest

/// 云主机密码，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  password;
/// 镜像ID。可查询&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/describeimages&quot;&gt;DescribeImages&lt;/a&gt;接口获得指定地域的镜像信息。
@property (strong,nonatomic,nonnull)  NSString*  imageId;
/// 密钥对名称；当前只支持一个。仅Linux系统支持指定。
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  keyNames;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
password:(NSString*)password
imageId:(NSString*)imageId
keyNames:(NSArray<NSString*>*)keyNames
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
password:(NSString*)password
imageId:(NSString*)imageId
keyNames:(NSArray<NSString*>*)keyNames
instanceId:(NSString*)instanceId;

@end

@interface VmDetachNetworkInterfaceRequest:JDCloudRequest

/// 弹性网卡ID
@property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
networkInterfaceId:(NSString*)networkInterfaceId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkInterfaceId:(NSString*)networkInterfaceId
instanceId:(NSString*)instanceId;

@end

@interface VmDeleteImageRequest:JDCloudRequest

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId;

@end

@interface VmCopyImagesRequest:JDCloudRequest

/// 源镜像ID
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  sourceImageIds;
/// 目标区域
@property (strong,nonatomic,nonnull)  NSString*  destinationRegion;
-(id) initWithRegion:(NSString *)regionId
sourceImageIds:(NSArray<NSString*>*)sourceImageIds
destinationRegion:(NSString*)destinationRegion;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
sourceImageIds:(NSArray<NSString*>*)sourceImageIds
destinationRegion:(NSString*)destinationRegion;

@end

@interface VmReleaseImageRequest:JDCloudRequest

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId;

@end

@interface VmImportImageRequest:JDCloudRequest

/// 系统架构，可选值：x86_64,i386
@property (strong,nonatomic,nonnull)  NSString*  architecture;
/// 操作系统，可选值：windows,linux
@property (strong,nonatomic,nonnull)  NSString*  osType;
/// 平台名称，可选值：CentOS,Ubuntu,Windows Server,Other Linux,Other Windows
@property (strong,nonatomic,nonnull)  NSString*  platform;
/// 磁盘格式，可选值：qcow2,vhd,vmdk,raw
@property (strong,nonatomic,nonnull)  NSString*  diskFormat;
/// 以此镜像需要制作的系统盘的默认大小，单位GB。最小值40，最大值500，要求值是10的整数倍
@property (strong,nonatomic,nonnull)  NSNumber*  systemDiskSizeGB;
/// 要导入镜像的对象存储外链地址
@property (strong,nonatomic,nonnull)  NSString*  imageUrl;
/// 镜像的操作系统版本
@property (strong,nonatomic,nonnull)  NSString*  osVersion;
/// 导入镜像的自定义名称
@property (strong,nonatomic,nonnull)  NSString*  imageName;
/// 导入镜像的描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
/// 是否强制导入。强制导入则忽略镜像的合规性检测
@property (strong,nonatomic,nonnull)  NSNumber*  forceImport;
/// 用户导入镜像的幂等性保证。每次创建请传入不同的值，如果传值与某次的clientToken相同，则返还该次的请求结果
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
-(id) initWithRegion:(NSString *)regionId
architecture:(NSString*)architecture
osType:(NSString*)osType
platform:(NSString*)platform
diskFormat:(NSString*)diskFormat
systemDiskSizeGB:(NSNumber*)systemDiskSizeGB
imageUrl:(NSString*)imageUrl
osVersion:(NSString*)osVersion
imageName:(NSString*)imageName
descriptionValue:(NSString*)descriptionValue
forceImport:(NSNumber*)forceImport
clientToken:(NSString*)clientToken;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
architecture:(NSString*)architecture
osType:(NSString*)osType
platform:(NSString*)platform
diskFormat:(NSString*)diskFormat
systemDiskSizeGB:(NSNumber*)systemDiskSizeGB
imageUrl:(NSString*)imageUrl
osVersion:(NSString*)osVersion
imageName:(NSString*)imageName
descriptionValue:(NSString*)descriptionValue
forceImport:(NSNumber*)forceImport
clientToken:(NSString*)clientToken;

@end

@interface VmModifyImageAttributeRequest:JDCloudRequest

/// 名称，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 描述，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
imageId:(NSString*)imageId;

@end

@interface VmDescribeImageMembersRequest:JDCloudRequest

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId;

@end

@interface VmDescribeImagesRequest:JDCloudRequest

/// 镜像来源，如果没有指定ids参数，此参数必传；取值范围：public、shared、thirdparty、private、community
@property (strong,nonatomic,nonnull)  NSString*  imageSource;
/// 操作系统平台，取值范围：Windows Server、CentOS、Ubuntu
@property (strong,nonatomic,nonnull)  NSString*  platform;
/// 镜像ID列表，如果指定了此参数，其它参数可为空
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ids;
/// 镜像支持的系统盘类型，[localDisk,cloudDisk]
@property (strong,nonatomic,nonnull)  NSString*  rootDeviceType;
/// 镜像的使用权限[all, specifiedUsers，ownerOnly]，可选参数，仅当imageSource取值private时有效
@property (strong,nonatomic,nonnull)  NSString*  launchPermission;
/// &lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/image_status&quot;&gt;参考镜像状态&lt;/a&gt;
@property (strong,nonatomic,nonnull)  NSString*  status;
/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
-(id) initWithRegion:(NSString *)regionId
imageSource:(NSString*)imageSource
platform:(NSString*)platform
ids:(NSArray<NSString*>*)ids
rootDeviceType:(NSString*)rootDeviceType
launchPermission:(NSString*)launchPermission
status:(NSString*)status
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageSource:(NSString*)imageSource
platform:(NSString*)platform
ids:(NSArray<NSString*>*)ids
rootDeviceType:(NSString*)rootDeviceType
launchPermission:(NSString*)launchPermission
status:(NSString*)status
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

@end

@interface VmDescribeImageRequest:JDCloudRequest

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId;

@end

@interface VmDescribeImageMembersResult : NSObject
/// Pins
 @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  pins;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithPins:(NSArray<NSString*>*) pins;
@end

@interface VmDescribeImageConstraintsRequest:JDCloudRequest

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId;

@end

@interface VmImageTasksRequest:JDCloudRequest

/// 任务种类。可选值：ImportImage
@property (strong,nonatomic,nonnull)  NSString*  taskAction;
/// 任务id
@property (strong,nonatomic,nonnull)  NSArray<NSNumber*>*  taskIds;
/// 任务状态。可选值：pending,running,failed,finished
@property (strong,nonatomic,nonnull)  NSString*  taskStatus;
/// 任务开始时间
@property (strong,nonatomic,nonnull)  NSString*  startTime;
/// 任务结束时间
@property (strong,nonatomic,nonnull)  NSString*  endTime;
/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
-(id) initWithRegion:(NSString *)regionId
taskAction:(NSString*)taskAction
taskIds:(NSArray<NSNumber*>*)taskIds
taskStatus:(NSString*)taskStatus
startTime:(NSString*)startTime
endTime:(NSString*)endTime
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
taskAction:(NSString*)taskAction
taskIds:(NSArray<NSNumber*>*)taskIds
taskStatus:(NSString*)taskStatus
startTime:(NSString*)startTime
endTime:(NSString*)endTime
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize;

@end

@interface VmImportImageResult : NSObject
/// 镜像id
 @property (strong,nonatomic,nonnull)  NSString*  imageId;
/// 导入任务id
 @property (strong,nonatomic,nonnull)  NSNumber*  importTaskId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithImageId:(NSString*) imageId

    importTaskId:(NSNumber*)importTaskId;
@end

@interface VmUnReleaseImageRequest:JDCloudRequest

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId;

@end

@interface VmDescribeImageConstraintsBatchRequest:JDCloudRequest

/// 镜像ID列表
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ids;
-(id) initWithRegion:(NSString *)regionId
ids:(NSArray<NSString*>*)ids;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ids:(NSArray<NSString*>*)ids;

@end

@interface VmUnShareImageRequest:JDCloudRequest

/// 需要取消的帐户
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  pins;
/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
pins:(NSArray<NSString*>*)pins
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pins:(NSArray<NSString*>*)pins
imageId:(NSString*)imageId;

@end

@interface VmShareImageRequest:JDCloudRequest

/// 需要共享的帐户
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  pins;
/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
pins:(NSArray<NSString*>*)pins
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pins:(NSArray<NSString*>*)pins
imageId:(NSString*)imageId;

@end

@interface VmUpdateInstanceTemplateResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmUpdateInstanceTemplateResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmUpdateInstanceTemplateResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmUpdateInstanceTemplateResult*) result;
@end

@interface VmDescribeInstanceTemplateResult : NSObject
/// InstanceTemplate
 @property (strong,nonatomic,nonnull)  InstanceTemplate*  instanceTemplate;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceTemplate:(InstanceTemplate*) instanceTemplate;
@end

@interface VmDescribeInstanceTemplatesRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// name - 启动模板名称，模糊匹配，支持多个
   /// instanceTemplateId - 启动模板ID，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

@end

@interface VmDeleteInstanceTemplateResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmDeleteInstanceTemplateResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDeleteInstanceTemplateResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDeleteInstanceTemplateResult*) result;
@end

@interface VmCreateInstanceTemplateRequest:JDCloudRequest

/// 启动模板的数据
@property (strong,nonatomic,nonnull)  InstanceTemplateSpec*  instanceTemplateData;
/// 启动模板的名称，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 启动模板的描述，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
-(id) initWithRegion:(NSString *)regionId
instanceTemplateData:(InstanceTemplateSpec*)instanceTemplateData
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceTemplateData:(InstanceTemplateSpec*)instanceTemplateData
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue;

@end

@interface VmVerifyInstanceTemplateResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmCreateInstanceTemplateResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmCreateInstanceTemplateResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmCreateInstanceTemplateResult*) result;
@end

@interface VmDescribeInstanceTemplatesResult : NSObject
/// InstanceTemplates
 @property (strong,nonatomic,nonnull)  NSArray<InstanceTemplate*>*  instanceTemplates;
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceTemplates:(NSArray<InstanceTemplate*>*) instanceTemplates

    totalCount:(NSNumber*)totalCount;
@end

@interface VmDescribeInstanceTemplatesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeInstanceTemplatesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeInstanceTemplatesResult*) result;
@end

@interface VmVerifyInstanceTemplateResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmVerifyInstanceTemplateResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmVerifyInstanceTemplateResult*) result;
@end

@interface VmDescribeInstanceTemplateResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeInstanceTemplateResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeInstanceTemplateResult*) result;
@end

@interface VmDescribeQuotasRequest:JDCloudRequest

/// resourceTypes - 资源类型，支持多个[instance，keypair，image，instanceTemplate，imageShare]
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
/// 私有镜像Id，查询镜像共享(imageShare)配额时，此参数必传
@property (strong,nonatomic,nonnull)  NSString*  imageId;
-(id) initWithRegion:(NSString *)regionId
filters:(NSArray<Filter*>*)filters
imageId:(NSString*)imageId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
filters:(NSArray<Filter*>*)filters
imageId:(NSString*)imageId;

@end

@interface VmDescribeQuotasResult : NSObject
/// Quotas
 @property (strong,nonatomic,nonnull)  NSArray<VmQuota*>*  quotas;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithQuotas:(NSArray<VmQuota*>*) quotas;
@end

@interface VmDescribeQuotasResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeQuotasResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeQuotasResult*) result;
@end

@interface VmDescribeInstanceTypesResult : NSObject
/// InstanceTypes
 @property (strong,nonatomic,nonnull)  NSArray<InstanceType*>*  instanceTypes;
/// SpecificInstanceTypes
 @property (strong,nonatomic,nonnull)  NSArray<InstanceType*>*  specificInstanceTypes;
/// 总数量
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceTypes:(NSArray<InstanceType*>*) instanceTypes

    specificInstanceTypes:(NSArray<InstanceType*>*)specificInstanceTypes

    totalCount:(NSNumber*)totalCount;
@end

@interface VmDescribeInstanceTypesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeInstanceTypesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeInstanceTypesResult*) result;
@end

@interface VmDescribeInstanceTypesRequest:JDCloudRequest

/// 服务类型，取值为{vm、nc}，vm代表虚机、nc代表原生容器
@property (strong,nonatomic,nonnull)  NSString*  serviceName;
/// instanceTypes - 实例规格，精确匹配，支持多个
   /// az - 可用区，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
serviceName:(NSString*)serviceName
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
serviceName:(NSString*)serviceName
filters:(NSArray<Filter*>*)filters;

@end

@interface VmDescribeKeypairsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// keyNames - 密钥对名称，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

@end

@interface VmImportKeypairResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmImportKeypairResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmImportKeypairResult*) result;
@end

@interface VmDescribeKeypairsResult : NSObject
/// Keypairs
 @property (strong,nonatomic,nonnull)  NSArray<Keypair*>*  keypairs;
/// 总的数据条数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithKeypairs:(NSArray<Keypair*>*) keypairs

    totalCount:(NSNumber*)totalCount;
@end

@interface VmDeleteKeypairResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmDeleteKeypairResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDeleteKeypairResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDeleteKeypairResult*) result;
@end

@interface VmCreateKeypairResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmCreateKeypairResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmCreateKeypairResult*) result;
@end

@interface VmDescribeKeypairsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeKeypairsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeKeypairsResult*) result;
@end

@interface VmDescribeInstanceResult : NSObject
/// Instance
 @property (strong,nonatomic,nonnull)  Instance*  instance;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstance:(Instance*) instance;
@end

@interface VmDescribeInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeInstanceResult*) result;
@end

@interface VmDescribeInstanceVncUrlResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeInstanceVncUrlResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeInstanceVncUrlResult*) result;
@end

@interface VmDescribeInstanceStatusResult : NSObject
/// InstanceStatuses
 @property (strong,nonatomic,nonnull)  NSArray<InstanceStatus*>*  instanceStatuses;
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceStatuses:(NSArray<InstanceStatus*>*) instanceStatuses

    totalCount:(NSNumber*)totalCount;
@end

@interface VmModifyInstanceDiskAttributeRequest:JDCloudRequest

/// 云硬盘列表
@property (strong,nonatomic,nonnull)  NSArray<InstanceDiskAttribute*>*  dataDisks;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
dataDisks:(NSArray<InstanceDiskAttribute*>*)dataDisks
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
dataDisks:(NSArray<InstanceDiskAttribute*>*)dataDisks
instanceId:(NSString*)instanceId;

@end

@interface VmResizeInstanceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmModifyInstanceAttributeResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmCreateInstancesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmCreateInstancesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmCreateInstancesResult*) result;
@end

@interface VmAttachNetworkInterfaceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmAttachNetworkInterfaceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmAttachNetworkInterfaceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmAttachNetworkInterfaceResult*) result;
@end

@interface VmDescribeInstancesResult : NSObject
/// Instances
 @property (strong,nonatomic,nonnull)  NSArray<Instance*>*  instances;
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstances:(NSArray<Instance*>*) instances

    totalCount:(NSNumber*)totalCount;
@end

@interface VmDetachDiskResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmDetachDiskResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDetachDiskResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDetachDiskResult*) result;
@end

@interface VmDescribeInstancesRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// instanceId - 云主机ID，精确匹配，支持多个
   /// privateIpAddress - 主网卡内网主IP地址，模糊匹配，支持多个
   /// az - 可用区，精确匹配，支持多个
   /// vpcId - 私有网络ID，精确匹配，支持多个
   /// status - 云主机状态，精确匹配，支持多个，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/vm_status&quot;&gt;参考云主机状态&lt;/a&gt;
   /// name - 云主机名称，模糊匹配，支持单个
   /// imageId - 镜像ID，精确匹配，支持多个
   /// networkInterfaceId - 弹性网卡ID，精确匹配，支持多个
   /// subnetId - 子网ID，精确匹配，支持多个
   /// agId - 使用可用组id，支持单个
   /// faultDomain - 错误域，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

@end

@interface VmResizeInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmResizeInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmResizeInstanceResult*) result;
@end

@interface VmDeleteInstanceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmDeleteInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDeleteInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDeleteInstanceResult*) result;
@end

@interface VmModifyInstanceDiskAttributeResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmModifyInstanceDiskAttributeResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmModifyInstanceDiskAttributeResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmModifyInstanceDiskAttributeResult*) result;
@end

@interface VmAssociateElasticIpResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmAssociateElasticIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmAssociateElasticIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmAssociateElasticIpResult*) result;
@end

@interface VmDetachNetworkInterfaceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmDetachNetworkInterfaceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDetachNetworkInterfaceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDetachNetworkInterfaceResult*) result;
@end

@interface VmStopInstanceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmStopInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmStopInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmStopInstanceResult*) result;
@end

@interface VmDescribeInstancePrivateIpAddressRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// instanceId - 云主机ID，精确匹配，支持多个
   /// privateIpAddress - 主网卡内网主IP地址，模糊匹配，支持多个
   /// vpcId - 私有网络ID，精确匹配，支持多个
   /// status - 云主机状态，精确匹配，支持多个，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/vm_status&quot;&gt;参考云主机状态&lt;/a&gt;
   /// name - 云主机名称，模糊匹配，支持单个
   /// imageId - 镜像ID，精确匹配，支持多个
   /// networkInterfaceId - 弹性网卡ID，精确匹配，支持多个
   /// subnetId - 子网ID，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

@end

@interface VmDisassociateElasticIpResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmCreateImageResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmCreateImageResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmCreateImageResult*) result;
@end

@interface VmModifyInstanceNetworkAttributeResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmDescribeInstancesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeInstancesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeInstancesResult*) result;
@end

@interface VmStartInstanceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmAttachDiskResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmAttachDiskResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmAttachDiskResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmAttachDiskResult*) result;
@end

@interface VmStartInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmStartInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmStartInstanceResult*) result;
@end

@interface VmCreateInstancesRequest:JDCloudRequest

/// 描述云主机配置
   /// 
@property (strong,nonatomic,nonnull)  InstanceSpec*  instanceSpec;
/// 购买云主机的数量；取值范围：[1,100]，默认为1。
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  maxCount;
/// 用于保证请求的幂等性。由客户端生成，长度不能超过64个字符。
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
-(id) initWithRegion:(NSString *)regionId
instanceSpec:(InstanceSpec*)instanceSpec
maxCount:(NSNumber*)maxCount
clientToken:(NSString*)clientToken;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceSpec:(InstanceSpec*)instanceSpec
maxCount:(NSNumber*)maxCount
clientToken:(NSString*)clientToken;

@end

@interface VmCreateImageRequest:JDCloudRequest

/// 镜像名称，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 镜像描述，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/general_parameters&quot;&gt;参考公共参数规范&lt;/a&gt;。
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
/// 数据盘列表，可以在实例已挂载数据盘的基础上，额外增加新的快照、空盘、或排除云主机中的数据盘。
@property (strong,nonatomic,nonnull)  NSArray<InstanceDiskAttachmentSpec*>*  dataDisks;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
dataDisks:(NSArray<InstanceDiskAttachmentSpec*>*)dataDisks
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
dataDisks:(NSArray<InstanceDiskAttachmentSpec*>*)dataDisks
instanceId:(NSString*)instanceId;

@end

@interface VmDescribeInstanceStatusRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// instanceId - 云主机ID，精确匹配，支持多个
   /// privateIpAddress - 主网卡内网主IP地址，模糊匹配，支持多个
   /// vpcId - 私有网络ID，精确匹配，支持多个
   /// status - 云主机状态，精确匹配，支持多个，&lt;a href&#x3D;&quot;http://docs.jdcloud.com/virtual-machines/api/vm_status&quot;&gt;参考云主机状态&lt;/a&gt;
   /// name - 云主机名称，模糊匹配，支持单个
   /// imageId - 镜像ID，精确匹配，支持多个
   /// networkInterfaceId - 弹性网卡ID，精确匹配，支持多个
   /// subnetId - 子网ID，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

@end

@interface VmRebootInstanceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmRebuildInstanceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmRebootInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmRebootInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmRebootInstanceResult*) result;
@end

@interface VmModifyInstanceNetworkAttributeRequest:JDCloudRequest

/// 弹性网卡列表
@property (strong,nonatomic,nonnull)  NSArray<InstanceNetworkAttribute*>*  networks;
/// 云主机ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
networks:(NSArray<InstanceNetworkAttribute*>*)networks
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networks:(NSArray<InstanceNetworkAttribute*>*)networks
instanceId:(NSString*)instanceId;

@end

@interface VmDescribeInstanceStatusResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeInstanceStatusResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeInstanceStatusResult*) result;
@end

@interface VmDisassociateElasticIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDisassociateElasticIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDisassociateElasticIpResult*) result;
@end

@interface VmRebuildInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmRebuildInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmRebuildInstanceResult*) result;
@end

@interface VmModifyInstanceAttributeResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmModifyInstanceAttributeResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmModifyInstanceAttributeResult*) result;
@end

@interface VmDescribeInstancePrivateIpAddressResult : NSObject
/// InstancePrivateIpAddress
 @property (strong,nonatomic,nonnull)  NSArray<InstancePrivateIpAddress*>*  instancePrivateIpAddress;
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstancePrivateIpAddress:(NSArray<InstancePrivateIpAddress*>*) instancePrivateIpAddress

    totalCount:(NSNumber*)totalCount;
@end

@interface VmDescribeInstancePrivateIpAddressResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeInstancePrivateIpAddressResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeInstancePrivateIpAddressResult*) result;
@end

@interface VmModifyInstancePasswordResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmModifyInstanceNetworkAttributeResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmModifyInstanceNetworkAttributeResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmModifyInstanceNetworkAttributeResult*) result;
@end

@interface VmModifyInstancePasswordResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmModifyInstancePasswordResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmModifyInstancePasswordResult*) result;
@end

@interface VmImportImageResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmImportImageResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmImportImageResult*) result;
@end

@interface VmDescribeImageConstraintsResult : NSObject
/// 镜像限制
 @property (strong,nonatomic,nonnull)  ImageConstraint*  imageConstraints;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithImageConstraints:(ImageConstraint*) imageConstraints;
@end

@interface VmDescribeImageConstraintsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeImageConstraintsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeImageConstraintsResult*) result;
@end

@interface VmCopyImagesResult : NSObject
/// CopyImages
 @property (strong,nonatomic,nonnull)  NSArray<CopyImage*>*  vmCopyImages;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCopyImages:(NSArray<CopyImage*>*) vmCopyImages;
@end

@interface VmCopyImagesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmCopyImagesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmCopyImagesResult*) result;
@end

@interface VmShareImageResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmDescribeImageResult : NSObject
/// 镜像详情
 @property (strong,nonatomic,nonnull)  Image*  image;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithImage:(Image*) image;
@end

@interface VmDescribeImageResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeImageResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeImageResult*) result;
@end

@interface VmImageTasksResult : NSObject
/// TaskSet
 @property (strong,nonatomic,nonnull)  NSArray<TaskInfo*>*  taskSet;
/// 总数量
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithTaskSet:(NSArray<TaskInfo*>*) taskSet

    totalCount:(NSNumber*)totalCount;
@end

@interface VmImageTasksResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmImageTasksResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmImageTasksResult*) result;
@end

@interface VmDescribeImagesResult : NSObject
/// Images
 @property (strong,nonatomic,nonnull)  NSArray<Image*>*  images;
/// 总数量
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithImages:(NSArray<Image*>*) images

    totalCount:(NSNumber*)totalCount;
@end

@interface VmDescribeImagesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeImagesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeImagesResult*) result;
@end

@interface VmUnReleaseImageResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmUnReleaseImageResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmUnReleaseImageResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmUnReleaseImageResult*) result;
@end

@interface VmDescribeImageConstraintsBatchResult : NSObject
/// ImageConstraints
 @property (strong,nonatomic,nonnull)  NSArray<ImageConstraint*>*  imageConstraints;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithImageConstraints:(NSArray<ImageConstraint*>*) imageConstraints;
@end

@interface VmDescribeImageConstraintsBatchResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeImageConstraintsBatchResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeImageConstraintsBatchResult*) result;
@end

@interface VmDeleteImageResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmDeleteImageResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDeleteImageResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDeleteImageResult*) result;
@end

@interface VmReleaseImageResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmModifyImageAttributeResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmModifyImageAttributeResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmModifyImageAttributeResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmModifyImageAttributeResult*) result;
@end

@interface VmShareImageResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmShareImageResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmShareImageResult*) result;
@end

@interface VmUnShareImageResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmUnShareImageResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmUnShareImageResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmUnShareImageResult*) result;
@end

@interface VmReleaseImageResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmReleaseImageResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmReleaseImageResult*) result;
@end

@interface VmDescribeImageMembersResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property VmDescribeImageMembersResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(VmDescribeImageMembersResult*) result;
@end

#endif /* VmApiModel_h */
